Embodiments of the present invention generally relate to computer systems, and more specifically to a scalable clustered storage system.
In traditional file storage systems or file servers, such as network attached storage (NAS), data is controlled and housed in silos using large monolithic, closed, proprietary systems. In order to handle the exponential file data growths in enterprises, companies are forced to deploy many file servers and split their data across these file servers in a manual and static way. Having multiple independent file servers causes data migration, data sharing, load and capacity balancing, and high availability problems. In addition each file server essentially limits the bandwidth available for a whole file system that causes significant performance issues for many classes of applications.
Another problem with traditional file systems is that both the metadata handling and the block allocation modules are performed in a single integrated file system. As more users need to access these file systems and perform random read/write operations, the block allocation processing modules in the file system slow down the general file storage system and cause bottlenecks as described herein. What is needed are seamless incremental expansion of the file storage systems in both capacity and bandwidth while maintaining a single system image to the users of this system.